package com.xr.system.student.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import com.xr.common.axios.AxiosResult;
import com.xr.system.model.student.pojo.Student;
import com.xr.system.model.student.dto.StudentDto;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 学生信息表
 *
 * @author fzh
 * @email e_341877120_mail@163.com
 * @date 2022-09-29 11:13:09
 */
public interface IStudentService extends IService<Student> {

    /**
     * 根据条件查询列表
     *
     * @param studentDto
     * @return
     */
    AxiosResult selectList(StudentDto studentDto);

    /**
     * 根据条件分页查询
     *
     * @param currentPage
     * @param pageSize
     * @param studentDto
     * @return
     */
    AxiosResult selectPage(int currentPage, int pageSize, StudentDto studentDto);

    /**
     * 根据id查询单个
     *
     * @param id
     * @return
     */
    AxiosResult selectOneById(Long id);

    /**
     * 新增
     *
     * @param studentDto
     * @return
     */
    AxiosResult insert(StudentDto studentDto);

    /**
     * 更新
     *
     * @param studentDto
     * @return
     */
    AxiosResult update(StudentDto studentDto);

    /**
     * 根据id删除单个
     *
     * @param id
     * @return
     */
    AxiosResult delete(Long id);

    /**
     * 根据id集合批量删除
     *
     * @param idList
     * @return
     */
    AxiosResult deleteBatch(List<Long> idList);

    /**
     * 导入文件
     *
     * @param file
     * @return
     */
    AxiosResult importFile(MultipartFile file);

    /**
     * 导出文件
     *
     * @param response
     */
    void exportFile(HttpServletResponse response);

}

